﻿#pragma once
#include "ListUtil.h"

#include "MaxStudentsTakeExam.h" //参加考试的最大学生数
#include "BeautifulTowerII.h" //美丽塔 II
#include "FindNumAppearOnlyOnce.h" //数组中唯一只出现一次的数字 
#include "LackedNum.h" //0 ~ n-1 中缺失的数字
#include "TwoStackMakeQueue.h"//用两个栈实现队列
#include "StackGetMin.h"//有getMin功能的栈
#include "ProductOfNumbers.h" //最后K个数的乘积
#include "MakeMultiArray.h"//构建乘积数组
#include "CarPooling.h"//拼车
#include "MaxSumOfSubArr.h" //最大子数组和
#include "CountOdds.h" //在区间范围内统计奇数数目
#include "CombinationSum.h" //组合总和
#include "CountAndSay.h" //外观数列
#include "NumArray.h" //区域和检索-数组不可变
#include "NumMatrix.h" //区域和检索-矩阵不可变
#include "NumMatrixExtendSum.h" //矩阵区域和
#include "CountOfRangeSum.h"//区间和的个数
#include "Search2DMatrix.h"//搜索二维矩阵
#include "RussianDollEnvelopes.h"//俄罗斯套娃信封问题
#include "MaxScoreAfterNOperations.h" //N次操作后的最大分数和
#include "RepeatNumInArr.h" //数组中重复的数字
#include "MaxScoreFromRemovingStones.h" //移除石子的最大得分
#include "PeakIndexInAMountainArray.h"//山峰数组的峰顶索引
#include "MoveZeros.h"//移动零
#include "RemoveArrayElements.h"//删除有序数组中的重复项
#include "AddInList.h"//链表相加
#include "AdvantageShuffle.h"//优势洗牌
#include "AVLTree.h"//平衡二叉树
#include "BinarySearch.h"//二分查找
#include "BinarySearchTree.h"//二叉搜索树
#include "BSTCommonAncestor.h"//二叉搜索树的最近公共祖先
#include "BSTConvertToList.h"//二叉搜索树转化为双链表
#include "BTreeCommonAncestor.h"//二叉树的最近公共祖先
#include "BTreeMaxDepth.h"//二叉树的最大深度
#include "BtreeOperate.h"//合并二叉树  二叉树的镜像
#include "BTreePathSum_1.h"//二叉树中和为某一值的路径 二叉树根节点到叶子节点的所有路径和
#include "BTreeRightView.h"//输出二叉树的右视图
#include "BTreeSerialize.h"//将二叉树序列化为字符串表示
#include "CalcExpressions.h"//求逆波兰表达式的值
#include "CheckIPAddress.h"//验证ip地址
#include "CombineMax.h"//最大数最大数
#include "CommonNodeBetweenList.h"
#include "CompareVersions.h"//比较版本号
#include "CutRope.h"//剪绳子(进阶版)
#include "DeformString.h"//字符串变形
#include "DeleteListDuplicateInclude.h"//删除有序链表中的重复元素
#include "DistributeCandies.h"//分糖果问题
#include "DPStarter.h"//最小花费爬楼梯 矩阵的最小路径和 打家劫舍(一) 打家劫舍(二) 买卖股票的最好时机(一) 买卖股票的最好时机(二) 买卖股票的最好时机(三)
#include "EditDistance.h"//编辑距离(一) 编辑距离(二)
#include "FibonacciSequence.h"//斐波那契数列
#include "FindAllAnagramsInAString.h"//找到字符串中所有字母异位词
#include "FindIslandsCount.h"//岛屿数量
#include "FindKCloestElements.h"//找到K个最接近的元素
#include "FindMedianSortedArrays.h"//寻找两个正序数组的中位数
#include "FindNums.h"//数组中只出现一次的两个数字 在两个递增的有序数组中寻找合并后的第k大的数
#include "FlipGame.h"//翻转棋子
#include "IsPalindromStr.h"//判读是否为回文字符串
#include "LargeNumbersSum.h"//大数加法
#include "LengthOfLongestSubstring.h"//无重复字符的最长子串
#include "ListCycle.h"//链表中是否有环判定
#include "ListKthTail.h"
#include "ListOrder.h"//链表的奇偶重排 重排链表
#include "ListPermutation.h" //求出给定字符的全排列
#include "LongestCommonPrefix.h"//最长公共前缀
#include "LongestCommonSubSeq.h"//最长公共子序列
#include "LongestCommonSubStr.h"//最长公共子串
#include "LongestIncreaseSubSeq.h"//最长上升子序列
#include "LongestPalindromeSubStr.h"//最长回文子串
#include "LongestPositiveMultiOfSubArr.h"//乘积为正数的最长连续子数组
#include "LongestValidParentheses.h"//最长的括号子串
#include "MatLongestAscendPath.h"//矩阵最长递增路径
#include "MaxestMultiOfSubArr.h"//连续子数组的最大乘积
#include "MaxestSumOfRingSubArr.h"//环形数组的连续子数组最大和
#include "MaxestSumOfSubArr.h"//连续子数组最大和
#include "MaxSubSquareSize.h"//求最大子矩阵的大小
#include "MaxValueInGrid.h"//礼物的最大价值
#include "MergeIntervals.h"//合并重叠区间
#include "MergeOrderedArrs.h"//合并两个有序的数组
#include "MergeSortedLists.h"//合并k个已排序的链表
#include "MinCoverSubStr.h"//最小覆盖子串
#include "MinestCostClimbStairs.h"//最小花费爬楼梯
#include "MinimumWindowSubstring.h"//最小覆盖子串
#include "MinNumberDisappeared.h"//缺失的第一个正整数
#include "MoneyChange.h"//兑换零钱(一) 兑换零钱(二）
#include "NQueen.h"// N皇后问题
#include "NumOccuerInOrderedArr.h"//在排序数组中查找数字I
#include "NumsCombineSumEqualTarget.h"//加起来和为目标值的组合(二)
#include "NumsPermute.h"//没有重复数字的全排列 有重复数字的全排列
#include "PalindromeList.h"//判断一个链表是否为回文结构
#include "ParenthesisGenerate.h"//生成括号
#include "ParseStringToInt.h"//字符串转换成整数(atoi)
#include "PatternMatch.h"//正则表达式匹配
#include "PreimageSizeOfFactorialZeroesFunction.h"//阶乘函数后K个零 阶乘后的零
#include "RandomListClone.h"//复杂链表的深拷贝
#include "ReorderArray.h"//调整数组顺序使奇数位于偶数前面
#include "ReorderArray2.h"//调整数组顺序使奇数位于偶数前面(二)
#include "ReverseInteger.h"//整数反转
#include "ReverseList.h"//翻转给定的链表
#include "ReverseListBetween.h"//链表内指定区间反转
#include "RotateArrsInplace.h"//旋转数组
#include "RotateMatrixCW.h"//顺时针旋转矩阵
#include "ScheduleHostsQuestion.h"//主持人调度(二)
#include "SearchA2DMatrixII.h"//搜索二维矩阵II
#include "SearchInsertPosition.h"//搜索插入位置
#include "SearchRangeInOrderedArr.h"//在排序数据中查找元素的第一个和最后一个位置
#include "SortInList.h"
#include "SpiralSequare.h"//螺旋矩阵
#include "StreamNumsMedian.h"//获取数据流的中位数
#include "Sudoku.h"//数独
#include "TheKthNodeInBST.h"//二叉搜索树的第k个节点
#include "ThreadBinaryTree.h"//线索化二叉树
#include "ThreeSum.h"//三数之和
#include "TopKOccuredStrings.h"//字符串出现次数的TopK问题
#include "TransDigitsToChars.h"//把数字翻译成字符串
#include "TransDigitsToIP.h"//数字字符串转化成IP地址
#include "TwoSum.h"//两数之和
#include "UniqueBinarySearchTreeCombineCount.h"//有多少个不同的二叉搜索树
#include "UniquePaths.h"//不同路径的数目(一) 不同路径的数目(二)
#include "ValidBST.h"//判断是不是二叉搜索树
#include "ValidCompleteBTree.h"//判断是不是完全二叉树
#include "WaterArea.h"//盛水最多的容器 接雨水问题
#include "WindowMaxTraverse.h"//滑动窗口的最大值
#include "ZigZagConvert.h"//Z字形变换
#include "SortAlgos.h" //各种排序算法专题
#include "YSFCycleList.h"//环形链表的约瑟夫问题
#include "DeleteListSingle.h"
#include "DeleteListDuplicateExclude.h"
#include "MergeInBetweenLInkedLists.h"
#include "CheckBTreeIsBalanced.h"
#include "BTreePrintByZigZagOrder.h"
#include "CheckBTreeContainsList.h"
#include "SlidingWindowMaximum.h"//滑动窗口的最大值
#include "FindNumMoreThanHalf.h"
#include "ReachableCountInMatrix.h"
#include "StackValidatePushPopSequence.h"
#include "StringLeftRotate.h"